package com.yb.project.algorithm.tree.binarytree;

/**
 * leecode 112 路径总和
 * @author fxb20
 * 
 * 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。
 * 判断该树中是否存在 根节点到叶子节点 的路径，这条路径上所有节点值相加等于目标和 targetSum 。
 * 如果存在，返回 true ；否则，返回 false 。叶子节点 是指没有子节点的节点。
 * 
 * 输入：root = [1,2,3], targetSum = 5
 * 输出：false
 *
 */
public class YbHasPathSum {
    public boolean hasPathSum(TreeNode root, int targetSum) {
    	
    	if(root==null) {
    		return false;
    	}
    	if(root.left==null && root.right==null && root.val==targetSum) {
    		return true;
    	}
    	return hasPathSum(root.left,targetSum-root.val) || hasPathSum(root.right,targetSum-root.val);
    }
    
}
